package ying.filter;

import jakarta.servlet.*;

import java.io.IOException;

/**
 * ClassName: FilterDemo03
 * Package: ying.filter
 * Description:
 *
 * @Author 刘英杰
 * @Create 2024/10/6 14:58
 * @Version 1.0
 */

/**
 * 与Filter生命周期有关的方法
 *   public void init(FilterConfig filterConfig): 初始化过滤器
 *   public void destroy():销毁过滤器
 *
 *  1.当服务器被启动的时候,会加载web.xml中配置的过滤器,进行初始化 (创建FilterDemo03对象调用init方法)
 *  2.当正常关闭tomcat时候,会销毁这个过滤器(调用destroy()方法)
 *  注意:过滤器对象只有一个,反复使用
 */

public class FilterDemo03 implements Filter{
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println(this + "被初始化");
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        System.out.println(this + "开始执行");
        chain.doFilter(request, response);
        System.out.println(this + "结束执行");

    }

    @Override
    public void destroy() {
        System.out.println(this + "被销毁");
    }
}
